\doxysection{stm32h7xx.\+h}
\hypertarget{stm32h7xx_8h_source}{}\label{stm32h7xx_8h_source}\index{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h@{C:/Users/ASUS/Desktop/dm-\/ctrlH7-\/balance-\/9025test/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h}}
\mbox{\hyperlink{stm32h7xx_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00032\ }
\DoxyCodeLine{00036\ }
\DoxyCodeLine{00037\ \textcolor{preprocessor}{\#ifndef\ STM32H7xx\_H}}
\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#define\ STM32H7xx\_H}}
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00040\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00041\ \ \textcolor{keyword}{extern}\ \textcolor{stringliteral}{"{}C"{}}\ \{}
\DoxyCodeLine{00042\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ \_\_cplusplus\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00043\ }
\DoxyCodeLine{00047\ }
\DoxyCodeLine{00051\ \textcolor{preprocessor}{\#if\ !defined\ \ (STM32H7)}}
\DoxyCodeLine{00052\ \textcolor{preprocessor}{\#define\ STM32H7}}
\DoxyCodeLine{00053\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ STM32H7\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00055\ }
\DoxyCodeLine{00056\ \textcolor{comment}{/*\ Uncomment\ the\ line\ below\ according\ to\ the\ target\ STM32H7\ device\ used\ in\ your}}
\DoxyCodeLine{00057\ \textcolor{comment}{\ \ \ application}}
\DoxyCodeLine{00058\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{00059\ }
\DoxyCodeLine{00060\ \textcolor{preprocessor}{\#if\ !defined\ (STM32H743xx)\ \&\&\ !defined\ (STM32H753xx)\ \ \&\&\ !defined\ (STM32H750xx)\ \&\&\ !defined\ (STM32H742xx)\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00061\ \textcolor{preprocessor}{\ \ \ \ !defined\ (STM32H745xx)\ \&\&\ !defined\ (STM32H745xG)\ \ \&\&\ !defined\ (STM32H755xx)\ \ \&\&\ !defined\ (STM32H747xx)\ \&\&\ !defined\ (STM32H747xG)\&\&\ !defined\ (STM32H757xx)\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00062\ \textcolor{preprocessor}{\ \ \ \ !defined\ (STM32H7A3xx)\ \&\&\ !defined\ (STM32H7A3xxQ)\ \&\&\ !defined\ (STM32H7B3xx)\ \&\&\ !defined\ (STM32H7B3xxQ)\ \&\&\ !defined\ (STM32H7B0xx)\ \ \&\&\ !defined\ (STM32H7B0xxQ)\ \&\&\ \(\backslash\)}}
\DoxyCodeLine{00063\ \textcolor{preprocessor}{\ \ \ \ !defined\ (STM32H735xx)\ \&\&\ !defined\ (STM32H733xx)\ \ \&\&\ !defined\ (STM32H730xx)\ \&\&\ !defined\ (STM32H730xxQ)\ \ \&\&\ !defined\ (STM32H725xx)\ \&\&\ !defined\ (STM32H723xx)}}
\DoxyCodeLine{00064\ \ \ \textcolor{comment}{/*\ \#define\ STM32H742xx\ */}\ \ \ }
\DoxyCodeLine{00065\ \ \ \textcolor{comment}{/*\ \#define\ STM32H743xx\ */}\ \ \ }
\DoxyCodeLine{00066\ \ \ \textcolor{comment}{/*\ \#define\ STM32H753xx\ */}\ \ \ }
\DoxyCodeLine{00067\ \ \ \textcolor{comment}{/*\ \#define\ STM32H750xx\ */}\ \ \ }
\DoxyCodeLine{00068\ \ \ \textcolor{comment}{/*\ \#define\ STM32H747xx\ */}\ \ \ }
\DoxyCodeLine{00069\ \ \ \textcolor{comment}{/*\ \#define\ STM32H747xG\ */}\ \ \ }
\DoxyCodeLine{00070\ \ \ \textcolor{comment}{/*\ \#define\ STM32H757xx\ */}\ \ \ }
\DoxyCodeLine{00071\ \ \ \textcolor{comment}{/*\ \#define\ STM32H745xx\ */}\ \ \ }
\DoxyCodeLine{00072\ \ \ \textcolor{comment}{/*\ \#define\ STM32H745xG\ */}\ \ \ }
\DoxyCodeLine{00073\ \ \ \textcolor{comment}{/*\ \#define\ STM32H755xx\ */}\ \ \ }
\DoxyCodeLine{00074\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7B0xx\ */}\ \ \ }
\DoxyCodeLine{00075\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7B0xxQ\ */}\ \ }
\DoxyCodeLine{00076\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7A3xx\ */}\ \ \ }
\DoxyCodeLine{00077\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7A3xxQ\ */}\ \ }
\DoxyCodeLine{00078\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7B3xx\ */}\ \ \ }
\DoxyCodeLine{00079\ \ \ \textcolor{comment}{/*\ \#define\ STM32H7B3xxQ\ */}\ \ }
\DoxyCodeLine{00080\ \ \ \textcolor{comment}{/*\ \#define\ STM32H735xx\ */}\ \ \ }
\DoxyCodeLine{00081\ \ \ \textcolor{comment}{/*\ \#define\ STM32H733xx\ */}\ \ \ }
\DoxyCodeLine{00082\ \ \ \textcolor{comment}{/*\ \#define\ STM32H730xx\ */}\ \ \ }
\DoxyCodeLine{00083\ \ \ \textcolor{comment}{/*\ \#define\ STM32H730xxQ\ */}\ \ }
\DoxyCodeLine{00084\ \ \ \textcolor{comment}{/*\ \#define\ STM32H725xx\ */}\ \ \ }
\DoxyCodeLine{00085\ \ \ \textcolor{comment}{/*\ \#define\ STM32H723xx\ */}\ \ \ }
\DoxyCodeLine{00086\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00087\ }
\DoxyCodeLine{00088\ \textcolor{comment}{/*\ \ Tip:\ To\ avoid\ modifying\ this\ file\ each\ time\ you\ need\ to\ switch\ between\ these}}
\DoxyCodeLine{00089\ \textcolor{comment}{\ \ \ \ \ \ \ \ devices,\ you\ can\ define\ the\ device\ in\ your\ toolchain\ compiler\ preprocessor.}}
\DoxyCodeLine{00090\ \textcolor{comment}{\ \ */}}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00092\ \textcolor{preprocessor}{\#if\ defined(DUAL\_CORE)\ \&\&\ !defined(CORE\_CM4)\ \&\&\ !defined(CORE\_CM7)}}
\DoxyCodeLine{00093\ \textcolor{preprocessor}{\ \#error\ "{}Dual\ core\ device,\ please\ select\ CORE\_CM4\ or\ CORE\_CM7"{}}}
\DoxyCodeLine{00094\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00095\ }
\DoxyCodeLine{00096\ \textcolor{preprocessor}{\#if\ !defined\ \ (USE\_HAL\_DRIVER)}\textcolor{preprocessor}{}}
\DoxyCodeLine{00102\ \ \ \textcolor{comment}{/*\#define\ USE\_HAL\_DRIVER\ */}}
\DoxyCodeLine{00103\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ USE\_HAL\_DRIVER\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00104\ }
\DoxyCodeLine{00108\ \textcolor{preprocessor}{\#define\ \_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_MAIN\ \ \ (0x01)\ }\textcolor{preprocessor}{}}
\DoxyCodeLine{00109\ \textcolor{preprocessor}{\#define\ \_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_SUB1\ \ \ (0x0A)\ }\textcolor{preprocessor}{}}
\DoxyCodeLine{00110\ \textcolor{preprocessor}{\#define\ \_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_SUB2\ \ \ (0x06)\ }\textcolor{preprocessor}{}}
\DoxyCodeLine{00111\ \textcolor{preprocessor}{\#define\ \_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_RC\ \ \ \ \ (0x00)\ }\textcolor{preprocessor}{}}
\DoxyCodeLine{00112\ \textcolor{preprocessor}{\#define\ \_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\ \ \ \ \ \ \ \ ((\_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_MAIN\ \ \ \ \ <<\ 24)\(\backslash\)}}
\DoxyCodeLine{00113\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |(\_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_SUB1\ <<\ 16)\(\backslash\)}}
\DoxyCodeLine{00114\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |(\_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_SUB2\ <<\ 8\ )\(\backslash\)}}
\DoxyCodeLine{00115\ \textcolor{preprocessor}{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ |(\_\_STM32H7xx\_CMSIS\_DEVICE\_VERSION\_RC))}}
\DoxyCodeLine{00116\ }
\DoxyCodeLine{00120\ }
\DoxyCodeLine{00124\ }
\DoxyCodeLine{00125\ \textcolor{preprocessor}{\#if\ defined(STM32H743xx)}}
\DoxyCodeLine{00126\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h743xx.h"{}}}
\DoxyCodeLine{00127\ \textcolor{preprocessor}{\#elif\ defined(STM32H753xx)}}
\DoxyCodeLine{00128\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h753xx.h"{}}}
\DoxyCodeLine{00129\ \textcolor{preprocessor}{\#elif\ defined(STM32H750xx)}}
\DoxyCodeLine{00130\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h750xx.h"{}}}
\DoxyCodeLine{00131\ \textcolor{preprocessor}{\#elif\ defined(STM32H742xx)}}
\DoxyCodeLine{00132\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h742xx.h"{}}}
\DoxyCodeLine{00133\ \textcolor{preprocessor}{\#elif\ defined(STM32H745xx)}}
\DoxyCodeLine{00134\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h745xx.h"{}}}
\DoxyCodeLine{00135\ \textcolor{preprocessor}{\#elif\ defined(STM32H745xG)}}
\DoxyCodeLine{00136\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h745xg.h"{}}}
\DoxyCodeLine{00137\ \textcolor{preprocessor}{\#elif\ defined(STM32H755xx)}}
\DoxyCodeLine{00138\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h755xx.h"{}}}
\DoxyCodeLine{00139\ \textcolor{preprocessor}{\#elif\ defined(STM32H747xx)}}
\DoxyCodeLine{00140\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h747xx.h"{}}}
\DoxyCodeLine{00141\ \textcolor{preprocessor}{\#elif\ defined(STM32H747xG)}}
\DoxyCodeLine{00142\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h747xg.h"{}}}
\DoxyCodeLine{00143\ \textcolor{preprocessor}{\#elif\ defined(STM32H757xx)}}
\DoxyCodeLine{00144\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h757xx.h"{}}}
\DoxyCodeLine{00145\ \textcolor{preprocessor}{\#elif\ defined(STM32H7B0xx)}}
\DoxyCodeLine{00146\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7b0xx.h"{}}}
\DoxyCodeLine{00147\ \textcolor{preprocessor}{\#elif\ defined(STM32H7B0xxQ)}}
\DoxyCodeLine{00148\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7b0xxq.h"{}}}
\DoxyCodeLine{00149\ \textcolor{preprocessor}{\#elif\ defined(STM32H7A3xx)}}
\DoxyCodeLine{00150\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7a3xx.h"{}}}
\DoxyCodeLine{00151\ \textcolor{preprocessor}{\#elif\ defined(STM32H7B3xx)}}
\DoxyCodeLine{00152\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7b3xx.h"{}}}
\DoxyCodeLine{00153\ \textcolor{preprocessor}{\#elif\ defined(STM32H7A3xxQ)}}
\DoxyCodeLine{00154\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7a3xxq.h"{}}}
\DoxyCodeLine{00155\ \textcolor{preprocessor}{\#elif\ defined(STM32H7B3xxQ)}}
\DoxyCodeLine{00156\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h7b3xxq.h"{}}}
\DoxyCodeLine{00157\ \textcolor{preprocessor}{\#elif\ defined(STM32H735xx)}}
\DoxyCodeLine{00158\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h735xx.h"{}}}
\DoxyCodeLine{00159\ \textcolor{preprocessor}{\#elif\ defined(STM32H733xx)}}
\DoxyCodeLine{00160\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h733xx.h"{}}}
\DoxyCodeLine{00161\ \textcolor{preprocessor}{\#elif\ defined(STM32H730xx)}}
\DoxyCodeLine{00162\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h730xx.h"{}}}
\DoxyCodeLine{00163\ \textcolor{preprocessor}{\#elif\ defined(STM32H730xxQ)}}
\DoxyCodeLine{00164\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h730xxq.h"{}}}
\DoxyCodeLine{00165\ \textcolor{preprocessor}{\#elif\ defined(STM32H725xx)}}
\DoxyCodeLine{00166\ \textcolor{preprocessor}{\ \ \#include\ "{}stm32h725xx.h"{}}}
\DoxyCodeLine{00167\ \textcolor{preprocessor}{\#elif\ defined(STM32H723xx)}}
\DoxyCodeLine{00168\ \textcolor{preprocessor}{\ \ \#include\ "{}\mbox{\hyperlink{stm32h723xx_8h}{stm32h723xx.h}}"{}}}
\DoxyCodeLine{00169\ \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{00170\ \textcolor{preprocessor}{\ \#error\ "{}Please\ select\ first\ the\ target\ STM32H7xx\ device\ used\ in\ your\ application\ (in\ stm32h7xx.h\ file)"{}}}
\DoxyCodeLine{00171\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00172\ }
\DoxyCodeLine{00176\ }
\DoxyCodeLine{00180\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}}
\DoxyCodeLine{00181\ \{}
\DoxyCodeLine{00182\ \ \ RESET\ =\ 0,}
\DoxyCodeLine{00183\ \ \ SET\ =\ !RESET}
\DoxyCodeLine{00184\ \}\ FlagStatus,\ ITStatus;}
\DoxyCodeLine{00185\ }
\DoxyCodeLine{00186\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}}
\DoxyCodeLine{00187\ \{}
\DoxyCodeLine{00188\ \ \ DISABLE\ =\ 0,}
\DoxyCodeLine{00189\ \ \ ENABLE\ =\ !DISABLE}
\DoxyCodeLine{00190\ \}\ FunctionalState;}
\DoxyCodeLine{00191\ \textcolor{preprocessor}{\#define\ IS\_FUNCTIONAL\_STATE(STATE)\ (((STATE)\ ==\ DISABLE)\ ||\ ((STATE)\ ==\ ENABLE))}}
\DoxyCodeLine{00192\ }
\DoxyCodeLine{00193\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{enum}}
\DoxyCodeLine{00194\ \{}
\DoxyCodeLine{00195\ \ \ SUCCESS\ =\ 0,}
\DoxyCodeLine{00196\ \ \ ERROR\ =\ !SUCCESS}
\DoxyCodeLine{00197\ \}\ ErrorStatus;}
\DoxyCodeLine{00198\ }
\DoxyCodeLine{00202\ }
\DoxyCodeLine{00203\ }
\DoxyCodeLine{00207\ \textcolor{preprocessor}{\#define\ SET\_BIT(REG,\ BIT)\ \ \ \ \ ((REG)\ |=\ (BIT))}}
\DoxyCodeLine{00208\ }
\DoxyCodeLine{00209\ \textcolor{preprocessor}{\#define\ CLEAR\_BIT(REG,\ BIT)\ \ \ ((REG)\ \&=\ \string~(BIT))}}
\DoxyCodeLine{00210\ }
\DoxyCodeLine{00211\ \textcolor{preprocessor}{\#define\ READ\_BIT(REG,\ BIT)\ \ \ \ ((REG)\ \&\ (BIT))}}
\DoxyCodeLine{00212\ }
\DoxyCodeLine{00213\ \textcolor{preprocessor}{\#define\ CLEAR\_REG(REG)\ \ \ \ \ \ \ \ ((REG)\ =\ (0x0))}}
\DoxyCodeLine{00214\ }
\DoxyCodeLine{00215\ \textcolor{preprocessor}{\#define\ WRITE\_REG(REG,\ VAL)\ \ \ ((REG)\ =\ (VAL))}}
\DoxyCodeLine{00216\ }
\DoxyCodeLine{00217\ \textcolor{preprocessor}{\#define\ READ\_REG(REG)\ \ \ \ \ \ \ \ \ ((REG))}}
\DoxyCodeLine{00218\ }
\DoxyCodeLine{00219\ \textcolor{preprocessor}{\#define\ MODIFY\_REG(REG,\ CLEARMASK,\ SETMASK)\ \ WRITE\_REG((REG),\ (((READ\_REG(REG))\ \&\ (\string~(CLEARMASK)))\ |\ (SETMASK)))}}
\DoxyCodeLine{00220\ }
\DoxyCodeLine{00221\ \textcolor{preprocessor}{\#define\ POSITION\_VAL(VAL)\ \ \ \ \ (\_\_CLZ(\_\_RBIT(VAL)))}}
\DoxyCodeLine{00222\ }
\DoxyCodeLine{00223\ \textcolor{comment}{/*\ Use\ of\ CMSIS\ compiler\ intrinsics\ for\ register\ exclusive\ access\ */}}
\DoxyCodeLine{00224\ \textcolor{comment}{/*\ Atomic\ 32-\/bit\ register\ access\ macro\ to\ set\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00225\ \textcolor{preprocessor}{\#define\ ATOMIC\_SET\_BIT(REG,\ BIT)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00226\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00227\ \textcolor{preprocessor}{\ \ \ \ uint32\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00228\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00229\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ \_\_LDREXW((\_\_IO\ uint32\_t\ *)\&(REG))\ |\ (BIT);\ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00230\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXW(val,(\_\_IO\ uint32\_t\ *)\&(REG)))\ !=\ 0U);\ \(\backslash\)}}
\DoxyCodeLine{00231\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00232\ }
\DoxyCodeLine{00233\ \textcolor{comment}{/*\ Atomic\ 32-\/bit\ register\ access\ macro\ to\ clear\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00234\ \textcolor{preprocessor}{\#define\ ATOMIC\_CLEAR\_BIT(REG,\ BIT)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00235\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00236\ \textcolor{preprocessor}{\ \ \ \ uint32\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00237\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00238\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ \_\_LDREXW((\_\_IO\ uint32\_t\ *)\&(REG))\ \&\ \string~(BIT);\ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00239\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXW(val,(\_\_IO\ uint32\_t\ *)\&(REG)))\ !=\ 0U);\ \(\backslash\)}}
\DoxyCodeLine{00240\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00241\ }
\DoxyCodeLine{00242\ \textcolor{comment}{/*\ Atomic\ 32-\/bit\ register\ access\ macro\ to\ clear\ and\ set\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00243\ \textcolor{preprocessor}{\#define\ ATOMIC\_MODIFY\_REG(REG,\ CLEARMSK,\ SETMASK)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00244\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00245\ \textcolor{preprocessor}{\ \ \ \ uint32\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00246\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00247\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ (\_\_LDREXW((\_\_IO\ uint32\_t\ *)\&(REG))\ \&\ \string~(CLEARMSK))\ |\ (SETMASK);\ \(\backslash\)}}
\DoxyCodeLine{00248\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXW(val,(\_\_IO\ uint32\_t\ *)\&(REG)))\ !=\ 0U);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00249\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00250\ }
\DoxyCodeLine{00251\ \textcolor{comment}{/*\ Atomic\ 16-\/bit\ register\ access\ macro\ to\ set\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00252\ \textcolor{preprocessor}{\#define\ ATOMIC\_SETH\_BIT(REG,\ BIT)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00253\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00254\ \textcolor{preprocessor}{\ \ \ \ uint16\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00255\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00256\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ \_\_LDREXH((\_\_IO\ uint16\_t\ *)\&(REG))\ |\ (BIT);\ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00257\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXH(val,(\_\_IO\ uint16\_t\ *)\&(REG)))\ !=\ 0U);\ \(\backslash\)}}
\DoxyCodeLine{00258\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00259\ }
\DoxyCodeLine{00260\ \textcolor{comment}{/*\ Atomic\ 16-\/bit\ register\ access\ macro\ to\ clear\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00261\ \textcolor{preprocessor}{\#define\ ATOMIC\_CLEARH\_BIT(REG,\ BIT)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00262\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00263\ \textcolor{preprocessor}{\ \ \ \ uint16\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00264\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00265\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ \_\_LDREXH((\_\_IO\ uint16\_t\ *)\&(REG))\ \&\ \string~(BIT);\ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00266\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXH(val,(\_\_IO\ uint16\_t\ *)\&(REG)))\ !=\ 0U);\ \(\backslash\)}}
\DoxyCodeLine{00267\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00268\ }
\DoxyCodeLine{00269\ \textcolor{comment}{/*\ Atomic\ 16-\/bit\ register\ access\ macro\ to\ clear\ and\ set\ one\ or\ several\ bits\ */}}
\DoxyCodeLine{00270\ \textcolor{preprocessor}{\#define\ ATOMIC\_MODIFYH\_REG(REG,\ CLEARMSK,\ SETMASK)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00271\ \textcolor{preprocessor}{\ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00272\ \textcolor{preprocessor}{\ \ \ \ uint16\_t\ val;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00273\ \textcolor{preprocessor}{\ \ \ \ do\ \{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00274\ \textcolor{preprocessor}{\ \ \ \ \ \ val\ =\ (\_\_LDREXH((\_\_IO\ uint16\_t\ *)\&(REG))\ \&\ \string~(CLEARMSK))\ |\ (SETMASK);\ \(\backslash\)}}
\DoxyCodeLine{00275\ \textcolor{preprocessor}{\ \ \ \ \}\ while\ ((\_\_STREXH(val,(\_\_IO\ uint16\_t\ *)\&(REG)))\ !=\ 0U);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(\backslash\)}}
\DoxyCodeLine{00276\ \textcolor{preprocessor}{\ \ \}\ while(0)}}
\DoxyCodeLine{00277\ }
\DoxyCodeLine{00281\ }
\DoxyCodeLine{00282\ \textcolor{preprocessor}{\#if\ defined\ (USE\_HAL\_DRIVER)}}
\DoxyCodeLine{00283\ \textcolor{preprocessor}{\ \#include\ "{}\mbox{\hyperlink{stm32h7xx__hal_8h}{stm32h7xx\_hal.h}}"{}}}
\DoxyCodeLine{00284\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ USE\_HAL\_DRIVER\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00285\ }
\DoxyCodeLine{00286\ }
\DoxyCodeLine{00287\ \textcolor{preprocessor}{\#ifdef\ \_\_cplusplus}}
\DoxyCodeLine{00288\ \}}
\DoxyCodeLine{00289\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ \_\_cplusplus\ */}\textcolor{preprocessor}{}}
\DoxyCodeLine{00290\ }
\DoxyCodeLine{00291\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{/*\ STM32H7xx\_H\ */}\textcolor{preprocessor}{}\textcolor{preprocessor}{}}
\DoxyCodeLine{00295\ }
\DoxyCodeLine{00299\ }
\DoxyCodeLine{00300\ }
\DoxyCodeLine{00301\ }
\DoxyCodeLine{00302\ }

\end{DoxyCode}
